const app = getApp();

/**
 * 心理测评量表管理页面
 * 功能：展示可用的心理测评量表类型并提供管理入口
 * 包括管理题目和评分规则设置等功能
 */
Page({
  data: {
    userInfo: null,  // 存储当前登录用户信息
    testTypes: [
      { id: 'SAS', name: '焦虑自评量表(SAS)' },
      { id: 'SDS', name: '抑郁自评量表(SDS)' }
    ]  // 测评量表类型列表
  },

  /**
   * 页面加载生命周期函数
   * 检查用户权限并设置页面状态
   */
  onLoad: function(options) {
    console.log('===== test-management/index 页面加载 =====');
    // 检查用户是否登录和是否是工作人员
    const userInfo = wx.getStorageSync('userInfo');
    console.log('当前用户信息:', userInfo);
    
    // 验证用户权限，非工作人员无法访问此页面
    if (!userInfo || userInfo.role !== 'staff') {
      console.warn('用户无权访问此页面:', userInfo ? userInfo.role : '未登录');
      wx.showToast({
        title: '您无权访问此页面',
        icon: 'none'
      });
      
      // 延迟跳转到功能页面
      setTimeout(() => {
        wx.switchTab({
          url: '/pages/function/function'
        });
      }, 1500);
      return;
    }

    this.setData({ userInfo });
    console.log('页面加载完成，用户角色: ' + userInfo.role);
  },

  /**
   * 跳转到量表题目列表页面
   * 用于管理特定类型量表的题目
   */
  goToQuestionList: function(e) {
    const testType = e.currentTarget.dataset.type;
    console.log('点击了管理题目按钮，量表类型:', testType);
    console.log(`/pages/staff/test-management/question-list/index?type=${testType}`)
    wx.navigateTo({
      url: `/pages/staff/test-management/question-list/index?type=${testType}`
    });
  },

  /**
   * 跳转到量表评分规则设置页面
   * 通过本地存储传递参数，处理复杂页面导航
   */
  goToTestConfig: function(e) {
    console.log('===== 点击了评分设置按钮 =====');
    console.log('事件对象:', e);
    const testType = e.currentTarget.dataset.type;
    console.log('量表类型:', testType);
    
    // 再次检查用户权限
    const userInfo = wx.getStorageSync('userInfo');
    console.log('当前用户信息:', userInfo);
    
    if (!userInfo || userInfo.role !== 'staff') {
      console.warn('用户无权执行此操作');
      wx.showToast({
        title: '您无权执行此操作',
        icon: 'none'
      });
      return;
    }
    
    // 使用本地存储传递量表类型参数
    wx.setStorageSync('currentTestConfigType', testType);
    console.log('已将量表类型保存到本地存储');
    
    // 创建导航状态记录，用于后续导航处理
    wx.setStorageSync('pendingNavigation', {
      destination: 'testConfig',
      timestamp: Date.now()
    });
    
    // 先跳转到功能页面，然后再处理具体导航
    wx.switchTab({
      url: '/pages/function/function',
      success: function() {
        console.log('成功跳转到首页');
        wx.showToast({
          title: '正在加载评分设置...',
          icon: 'none',
          duration: 2000
        });
      },
      fail: function(error) {
        console.error('跳转到首页失败:', error);
        wx.showToast({
          title: '页面跳转失败',
          icon: 'none'
        });
        // 清除导航状态
        wx.removeStorageSync('pendingNavigation');
      }
    });
  },

  /**
   * 返回上一页面
   */
  goBack: function() {
    wx.navigateBack();
  }
}); 